import axios from 'axios';
import {ElMessage} from "element-plus";
import router from "../router/index.js";
// import  cookies  from './cookies.js';

// 创建 axios 实例
const instance= axios.create({
  baseURL: '/api/',
  timeout: 20000,
    withCredentials: true,
  headers: {
    'Content-Type': 'application/json'
  }
});

// // 定义不需要token的白名单路径
// const whiteList = ['/login', '/register'];
// // 请求拦截器
// instance.interceptors.request.use(
//     config => {
//         console.log("configUrl");
//         console.log(config?.url);
//
//       const isWhiteList = whiteList.some(path => config.url?.includes(path));
//
//       if (!isWhiteList) {
//         const token = cookies.get('token');  // 从 cookie 获取 token
//         if (token) {
//           config.headers.Authorization = `Bearer ${token}`;
//         }
//       }
//       return config;
//     },
//     error => {
//       return Promise.reject(error);
//     }
//   );

// 响应拦截器
instance.interceptors.response.use(
  response => {
      console.log("response",response)
   return response.data
  },
  error => {
      console.log("error",error)
      if (error.response) {
          if (error.response.status === 401) {
              ElMessage.error(error.response.data.message);
              // 如果是未授权，可以重定向到登录页
              setTimeout(() => {
                  // window.location.href = '/';
                  router.push('/login')
              },500)

          }
      } else {
          alert('网络错误，请稍后重试');
      }
      return Promise.reject(error);
  }
);

// 挂载到全局
window.axios = instance;

export default instance;